//using System;
//using System.Collections.Generic;
//using System.Text;
//using System.IO;

//namespace SourceCodeThief.Classes
//{
//    public class PdbWriter
//    {

//        /// <summary>
//        /// Standart PDB 7.0 Version Header
//        /// </summary>
//        private static char[] PDBHeader = new char[] { 'M','i','c','r','o','s','o','f','t',
//                                                       ' ','C','/','C','+','+',' ','M','S','F',' ','7','.',
//                                                       '0','0','\r','\n','\x1A','D','S','\0','\0','\0'};

//        private System.IO.MemoryStream 
//            m_targetPdbStream;
        
//        private System.UInt32 
//            m_dPageBytes;

//        private System.UInt32 
//            m_dFlagPage;

//        private System.UInt32
//            m_dFilePages;

//        private System.UInt32
//                m_dRootBytes;

//        private System.Collections.Generic.List<MemoryStream>
//            m_streamToBeWritten;

//        public PdbWriter(UInt32 dPageBytes,
//                        byte[] FlagPageData,
//                        System.Collections.Generic.List<MemoryStream> NewPdbStreams)
//        {
            
//            m_targetPdbStream = 
//                new MemoryStream();

//            m_dPageBytes =
//                dPageBytes;

//            m_dFlagPage = 
//                0;

//            m_streamToBeWritten = 
//                NewPdbStreams;

//            m_dFilePages = 
//                1;

//            System.UInt32 
//                TotalByteContent = 0;

//            TotalByteContent += 
//                dPageBytes;



//            for (int i = 1; 
//                i < NewPdbStreams.Count; 
//                i++)
//            {
//                TotalByteContent +=
//                    (uint)NewPdbStreams[i].Length;
//            }

//            m_dFilePages += 
//                (TotalByteContent / m_dPageBytes);

//            m_dRootBytes =
//                (uint)NewPdbStreams[0].Length;

//            using (BinaryWriter pdbWriter = new BinaryWriter(m_targetPdbStream))
//            {
//                //Write Out The Header First
//                pdbWriter.Write(PDBHeader);
//                pdbWriter.Write(dPageBytes);
//                pdbWriter.Write(m_dFlagPage);
//                pdbWriter.Write(m_dFilePages);
//                pdbWriter.Write(m_dRootBytes);
//                pdbWriter.Write((UInt32)0);

//                //File Pages Should Be Calculated Later
//                ////Let us calculate the root stream size
//                //MemoryStream rootStream = 
//                //    new MemoryStream();

//                ////Initial For Page Begin
//                //System.UInt32 rootStreamBytesSize = 1;
//                //rootStreamBytesSize += OldPdbStreams.Count;

//            }

//        }

//    }
//}
